

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   ef.java

package com.zelix;

import java.io.BufferedReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.Vector;

// Referenced classes of package com.zelix:
//            rb, zo, yx, px, 
//            uy, ly

public abstract class ef
{

    static final String a = System.getProperty(z(z("\n)vVO\025%hR\023\0074wA")), "\n");
    private static String b = "&";
    uy c;
    boolean d;
    private static String z[];

    ef(BufferedReader bufferedreader)
        throws IOException, rb
    {
        boolean flag1 = yx.d;
        super();
        c = new uy();
        boolean flag = false;
        String s = null;
        String s1;
        while((s1 = bufferedreader.readLine()) != null) 
        {
            if(s1.equals(""))
            {
                if(flag || flag1)
                    return;
                continue;
            }
            if(s1.equals(b))
            {
                if(flag || flag1)
                    return;
                continue;
            }
            flag = true;
            if(s1.charAt(0) == ' ')
            {
                c.a(s, s1);
                if(!flag1)
                    continue;
            }
            s = e(s1);
        }
        d = true;
    }

    String a(String s)
    {
        int i;
        int l;
        StringBuffer stringbuffer;
        boolean flag;
        flag = yx.d;
        i = s.length();
        if(i <= 72)
            break MISSING_BLOCK_LABEL_134;
        int j = 0;
        l = 72;
        stringbuffer = new StringBuffer(s.substring(j, l));
        if(!flag) goto _L2; else goto _L1
_L1:
        int k = l;
        l = (k + 72) - 1;
        stringbuffer.append(a);
        stringbuffer.append(' ');
        stringbuffer.append(s.substring(k, l));
_L2:
        if(i - l > 71) goto _L1; else goto _L3
_L3:
        if(l < i)
        {
            stringbuffer.append(a);
            stringbuffer.append(' ');
            stringbuffer.append(s.substring(l));
        }
        return stringbuffer.toString();
        return s;
    }

    public static String a(String s, String s1, ly ly, ly ly1)
    {
        String s2;
        StringBuffer stringbuffer;
        StringTokenizer stringtokenizer;
        boolean flag;
        flag = yx.d;
        s2 = s + ":" + " ";
        stringbuffer = new StringBuffer();
        stringtokenizer = new StringTokenizer(s1, z[0], true);
        if(!flag) goto _L2; else goto _L1
_L1:
        String s3 = stringtokenizer.nextToken();
        if(s3.length() >= zo.n && s3.indexOf(".") > -1 && s3.indexOf("/") == -1)
        {
            int i = s3.indexOf(".");
            if(i > 0 && i < s3.length() - 1 && a(s3, "."))
            {
                String s4 = a(s3, ly1);
                if(!s3.equals(s4))
                {
                    stringbuffer.append(s4);
                    if(!flag)
                        continue; /* Loop/switch isn't completed */
                }
                String s5 = b(s3, ly);
                if(!s3.equals(s5))
                {
                    stringbuffer.append(s5);
                    if(!flag)
                        continue; /* Loop/switch isn't completed */
                }
            }
        }
        stringbuffer.append(s3);
_L2:
        if(stringtokenizer.hasMoreTokens()) goto _L1; else goto _L3
_L3:
        return s2 + stringbuffer.toString();
    }

    String a(String s, ly ly, ly ly1)
    {
        String s1 = c(s);
        return a(a(s, s1, ly, ly1));
    }

    String b(String s)
    {
        Vector vector;
        StringBuffer stringbuffer;
        int i;
        boolean flag;
        flag = yx.d;
        vector = c.b(s);
        if(vector == null)
            break MISSING_BLOCK_LABEL_88;
        stringbuffer = new StringBuffer();
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        String s1 = (String)vector.elementAt(i);
        stringbuffer.append(s1);
        if(i < vector.size() - 1)
            stringbuffer.append(a);
        i++;
_L2:
        if(i < vector.size()) goto _L1; else goto _L3
_L3:
        return stringbuffer.toString();
        return null;
    }

    String c(String s)
    {
        Vector vector;
        StringBuffer stringbuffer;
        int i;
        boolean flag;
        flag = yx.d;
        vector = c.b(s);
        if(vector == null)
            break MISSING_BLOCK_LABEL_82;
        stringbuffer = new StringBuffer();
        i = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        String s1 = (String)vector.elementAt(i);
        if(i > 0)
            s1 = s1.substring(1);
        stringbuffer.append(s1);
        i++;
_L2:
        if(i < vector.size()) goto _L1; else goto _L3
_L3:
        return stringbuffer.toString();
        return null;
    }

    abstract String d(String s);

    public static boolean a(String s, String s1)
    {
        StringTokenizer stringtokenizer;
        boolean flag;
        flag = yx.d;
        stringtokenizer = new StringTokenizer(s, s1);
        if(!flag) goto _L2; else goto _L1
_L1:
        String s2 = stringtokenizer.nextToken();
        if(!Character.isJavaIdentifierStart(s2.charAt(0)))
            return false;
_L2:
        if(!stringtokenizer.hasMoreTokens())
            return true;
        if(true) goto _L1; else goto _L3
_L3:
    }

    boolean a()
    {
        return c.b() == 0;
    }

    boolean b()
    {
        return d;
    }

    private String e(String s)
        throws rb
    {
        int i = s.indexOf(":");
        if(i <= 0 || i == s.length() - 1)
            throw new rb(z[6] + s + "'");
        String s1 = s.substring(0, i).trim();
        s1 = d(s1);
        if(c.a(s1))
            if(s1.equals(z[5]))
                throw new rb(z[4] + s + z[3]);
            else
                throw new rb(z[1] + s1 + z[2] + s + "'");
        String s2 = s.substring(i + 1);
        if(s2.length() > 0 && s2.charAt(0) == ' ')
            s2 = s2.substring(1);
        c.a(s1, s2);
        return s1;
    }

    static String a(String s, ly ly)
    {
        boolean flag;
label0:
        {
            if(s.indexOf('/') > 0)
            {
                if(s.indexOf('.') == -1)
                {
                    flag = true;
                    if(!yx.d)
                        break label0;
                }
                return s;
            }
            flag = false;
        }
        return a(s, ly, flag ^ true);
    }

    static String a(String s, ly ly, yx yx1)
    {
        if(s.endsWith(z[7]))
            return yx1.a(s, ly);
        if(yx1.a(s))
            return yx1.b(s);
        else
            return yx1.c(s);
    }

    private static String a(String s, ly ly, boolean flag)
    {
        String s1 = s.trim().replace('.', '/');
        String s2 = (String)px.a(s1, ly);
        if(flag)
            return s2.replace('/', '.');
        else
            return s2;
    }

    static String b(String s, ly ly)
    {
        return a(s, ly, true);
    }

    private static char[] z(String str) {
        char ac[] = str.toCharArray();
        int clen = ac.length;
        if (clen >= 2)
            return ac;
        ac[0] ^= 0x61;
        return ac;
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x66;
                    break;
                case 1:
                    key = 64;
                    break;
                case 2:
                    key = 24;
                    break;
                case 3:
                    key = 51;
                    break;
                default:
                    key = 97;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[] = new String[8];
        as[0] = z(z("Fl#"));
        as[1] = z(z("27w\023F"));
        as[2] = z(z("A`pV\000\002%j@A\017.8G\t\003`w]\004F-y]\b\000%kGA\025%{G\b\t.\"\023F"));
        as[3] = z(z("A`uF\022\022`zVA\0262}P\004\002%|\023\003\037`y\023\003\n!vXA\n)vVO"));
        as[4] = z(z("27w\023F(!uVFF(}R\005\0032k\023\b\b`l[\004F/vVA\013!vZ\007\0033l\023\022\003#lZ\016\bn8\023)\003!|V\023Fg"));
        as[5] = z(z("(!uV"));
        as[6] = z(z("/.nR\r\017$8~\000\b)~V\022\022`yG\025\024)zF\025\003`?"));
        as[7] = z(z("H#tR\022\025"));
        z = as;
    }
}